<nz-tree-view [nzDataSource]="dataSource" [nzTreeControl]="treeControl">
  <nz-tree-node *nzTreeNodeDef="let node" nzTreeNodePadding>
    <nz-tree-node-toggle nzTreeNodeNoopToggle></nz-tree-node-toggle>
    <nz-tree-node-option
      [nzDisabled]="node.disabled"
      [nzSelected]="selectListSelection.isSelected(node)"
      (nzClick)="selectListSelection.toggle(node)"
    >
      {{ node.name }}
    </nz-tree-node-option>
  </nz-tree-node>

  <nz-tree-node *nzTreeNodeDef="let node; when: hasChild" nzTreeNodePadding>
    <nz-tree-node-toggle>
      <span nz-icon nzType="caret-down" nzTreeNodeToggleRotateIcon></span>
    </nz-tree-node-toggle>
    <nz-tree-node-option
      [nzDisabled]="node.disabled"
      [nzSelected]="selectListSelection.isSelected(node)"
      (nzClick)="selectListSelection.toggle(node)"
    >
      {{ node.name }}
    </nz-tree-node-option>
  </nz-tree-node>
</nz-tree-view>
